package com.ebupt.migu.music.label.service;

import com.ebupt.migu.common.pojo.MusicRuleRequestBean;
import com.ebupt.migu.music.common.entity.ResultObject;
import com.ebupt.migu.music.label.entity.LabelCustomerDetailRequestBean;
import com.ebupt.migu.music.label.entity.LabelCustomerRequestBean;
import com.ebupt.migu.music.label.entity.LabelCustomerResponseBean;

import java.util.Map;

/**
 * @description: TODO
 * @author: liuyangyang@ebupt.com
 * @date: 2021/8/13 15:20
 */
public interface LabelCustomerService {

    /**
     * 判定当前客群是否需要将结果集导入redis
     *
     * @param groupId
     * @return
     */
    public ResultObject dynamicOnly(String groupId);

    /**
     * 查询is_dynamic_customer 和 is_static_customer的值
     *
     * @param groupId
     * @return
     */
    public ResultObject dynamicAndStaticStatus(String groupId);

    /**
     * 更新客群状态
     *
     * @param bean
     * @param param dynamic - 动态标签
     *              static - 统一标签
     * @return
     */
    public LabelCustomerResponseBean updateLabelCustomerStatus(LabelCustomerRequestBean bean, String param);

    /**
     * 客群静态标签规则上报
     *
     * @param bean
     * @return
     */
    public LabelCustomerResponseBean detail(LabelCustomerDetailRequestBean bean);

    /**
     * 查询指定客群的静态标签信息
     *
     * @param groupId
     * @return
     */
    public ResultObject staticLabelInfo(String groupId);

    /**
     * 文件上传至统一标签服务平台
     *
     * @param bean
     * @return
     */
    public LabelCustomerResponseBean fileTransByManual(MusicRuleRequestBean bean);

    /**
     * 客群重组上报
     *
     * @return
     */
    public LabelCustomerResponseBean customerMerge(String groupId);
}
